package com.sjy.ylxt.entity.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
* @Author: 史俊颖
* @CreateTime: 2024-12-12
* @Description: ${description}
*/
/**
 * 投诉表
 */
@ApiModel(description="患者投诉陪诊员表")
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class YlxtComplaints implements Serializable {
    /**
    * 投诉ID
    */
    @ApiModelProperty(value="投诉ID")
    @NotNull(message = "投诉ID不能为null")
    private Integer id;

    /**
    * 患者ID
    */
    @ApiModelProperty(value="患者ID")
    @NotNull(message = "患者ID不能为null")
    private Integer patientId;

    /**
    * 被投诉陪诊员ID
    */
    @ApiModelProperty(value="被投诉陪诊员ID")
    @NotNull(message = "被投诉陪诊员ID不能为null")
    private Integer companionId;

    /**
    * 投诉提交日期
    */
    @ApiModelProperty(value="投诉提交日期")
    @NotNull(message = "投诉提交日期不能为null")
    @JsonFormat(shape = JsonFormat.Shape.ANY,locale = "zh_CN",pattern = "yyyy-MM-dd",timezone = "GMT")
    private Date complaintDate;

    /**
    * 投诉内容描述
    */
    @ApiModelProperty(value="投诉内容描述")
    @NotBlank(message = "投诉内容描述不能为空")
    private String complaintContent;

    /**
    * 投诉状态：0-待处理 1-处理中 2-已解决 3-已关闭
    */
    @ApiModelProperty(value="投诉状态：0-待处理 1-处理中 2-已解决 3-已关闭")
    @NotNull(message = "投诉状态：0-待处理 1-处理中 2-已解决 3-已关闭不能为null")
    private Integer complaintStatus;

    /**
    * 分配给哪个管理员或部门处理
    */
    @ApiModelProperty(value="分配给哪个管理员或部门处理")
    @Size(max = 100,message = "分配给哪个管理员或部门处理最大长度要小于 100")
    private String assignedTo;

    /**
    * 解决方案描述
    */
    @ApiModelProperty(value="解决方案描述")
    private String resolutionDescription;

    /**
    * 解决日期
    */
    @ApiModelProperty(value="解决日期")
    @JsonFormat(shape = JsonFormat.Shape.ANY,locale = "zh_CN",pattern = "yyyy-MM-dd",timezone = "GMT")
    private Date resolvedDate;

    /**
    * 创建时间
    */
    @ApiModelProperty(value="创建时间")
    @NotNull(message = "创建时间不能为null")
    @JsonFormat(shape = JsonFormat.Shape.ANY,locale = "zh_CN",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT")
    private Date createTime;

    /**
    * 最后更新时间
    */
    @ApiModelProperty(value="最后更新时间")
    @NotNull(message = "最后更新时间不能为null")
    private Date updateTime;

    /**
    * 创建用户
    */
    @ApiModelProperty(value="创建用户")
    @Size(max = 100,message = "创建用户最大长度要小于 100")
    private String createUser;

    /**
    * 最后更新用户
    */
    @ApiModelProperty(value="最后更新用户")
    @Size(max = 100,message = "最后更新用户最大长度要小于 100")
    private String updateUser;

    /**
    * 删除标志：0-未删除 1-已删除
    */
    @ApiModelProperty(value="删除标志：0-未删除 1-已删除")
    @NotNull(message = "删除标志：0-未删除 1-已删除不能为null")
    private Integer deleteFlag;

    private static final long serialVersionUID = 1L;
}